// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.2 OR LicenseRef-Slint-commercial

component TextInner inherits Text {
    callback panic();
    //init => { self.panic() }
    text: "Click me";
    TouchArea {
        clicked => { root.panic(); }
    }
}

component TextOuter {
    callback panic <=> inner.panic;
    inner := TextInner {
        width: 100%;
        height: 100%;
    }
}

export component TestCase inherits Window {
    width: 300px;
    height: 300px;
    TextOuter {
    }
}

/*
```cpp
auto handle = TestCase::create();
const TestCase &instance = *handle;
slint_testing::send_mouse_click(&instance, 50., 50.);
```

```rust
let instance = TestCase::new().unwrap();
slint_testing::send_mouse_click(&instance, 50., 50.);
```

```js
var instance = new slint.TestCase();
slintlib.private_api.send_mouse_click(instance, 50., 50.);
```
*/
